<template>
  <div>
    <h1>数组</h1>
    对数组进行切割分组:chunkArr <br>
    过滤掉数组中的假值:compactArr <br>
    新数组, 将array与任何数组 或 值连接在一起:concatArr <br>
    扁平化数组 flatArr <br>
    数组过滤掉与另外一个数组中不一样的元素 differenceArr <br>
    不同于differenceArr differenceBy接受一个迭代器 <br>
    创建一个切片数组，去除array前面n个元素 drop<br>
    <h1>对象数组</h1>
    对象数组根据某属性去重 duplicateRemovalArr 对象数组根据某属性的大小排序 MsgSort <br>
  </div>
</template>

<script>
  import tools from "@/utils/tools.js"
   var $this = null
   export default {
    name: "",
    created() {

    },
    mounted() {
        //数组
        this.chunkArr()
        this.compactArr()
        this.concatArr()
        this.flatArr()
        this.differenceArr()
        this.differenceBy()
        this.drop()
        // 对象数组
        this.duplicateRemovalArr()
    },
    methods: {
        //数组
        chunkArr() {
          // let a = this._.chunk(['a', 'b', 'c', 'd'], 2);
          // console.log('a',a);
          // this.rayllei.chunk(1,2)

          // let a = [1,2,3,4,5]
          // let b = this.rayllei.chunk(a,2)
          // console.log(b);
        },
        compactArr(array) {
          // let a = _.compact([0, 1, false, 2, '', 3]);
          // console.log(a);

          // let a = this.rayllei.compact([0, 1, false, 2, '', 3, undefined, null])
          // console.log(a);
        },
        concatArr() {
          // let array = [3]
          // let b = _.concat(array,2,[3],[[4]]) 
          // console.log(array);
          // console.log(b);
        },
        flatArr() {
          // let array = [3,2,[3],[[4]]]
          // let b = this.rayllei.flat(array,2)
          // let c = this.rayllei.flatUseRC(array,2)
          // console.log(b);
          // console.log('c',c);
        },
        differenceArr() {
          // let a = [3,2,1,0]
          // let b = [5,2,3,7]
          // let c = _.difference(a,b)
          // console.log('c',c);

          //  let a = [3,2,1,0]
          //  let b = [5,2,3,7]
          //  let c = this.rayllei.difference(a,b)
          //  console.log('c',c);

        },
        differenceBy() {
          // let a = _.differenceBy([{ 'x': 2 }, { 'x': 1 },{ 'x': 3 }], [{ 'x': 1 }], 'x');
          // let b = _.differenceBy([3.1, 2.2, 1.3], [3.4, 2.5], function(x) {
          //   return  x = Math.ceil(x)
          // });
          // console.log('a',a);
          // console.log('b',b);

          // let a = [1,2,3]
          // let b = [1,2]
          // this.rayllei.differenceBy(a, b, function(x) {
          //   return x = x * 10
          // })
        },
        drop() {
          // let a = [1,2,3,4]
          // let b = _.drop(a,1)
          // console.log('a',a);
          // console.log('b',b);

          let a = [1,2,3,4]
          let b = _.drop(a,1)
          
        },


        // 数组对象
        duplicateRemovalArr() {
          // let a = [{
          //    title:'leilei',
          //    num:130
          //   },{
          //    title:'leilei3',
          //    num:110
          //   },{
          //    title:'leilei3',
          //    num:120
          //   },{
          //    title:'leilei4',
          //    num:110
          //   },{
          //    title:'leilei4',
          //    num:140
          //   },
          // ]
          // let b = this.rayllei.duplicateRemoval(a,'title')//对象去重
          // console.log('b',b);
          // let c = tools.deepClone(b)
          // let d = this.rayllei.MsgSort(c,'num')//对象排序1
          // console.log('d',d);
          // let e = tools.deepClone(a)
          // let f = e.sort(this.rayllei.compare('num',false))//对象排序2
          // console.log('f',f);
        },
        
        
        



        
    }
}
</script>

<style scoped>

</style>
